Concurrency abstractions for Concurrent Haskell

نویسندگان

  • Volker Stolz
  • Frank Huch
چکیده

In this article we propose a basic set of concurrency abstractions for Concurrent Haskell based on our experiences with various applications. These abstractions serve as templates for patterns recurring in concurrent program development. Especially for threads depending on each other, high-level constructs allow monitoring of a set of child threads and taking actions in case a vital component terminates. The implementation utilises advanced features of the Glasgow Haskell compiler.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modular transactional memory

Software transactional memory has the potential to greatly simplify development of concurrent software, by supporting safe composition of concurrent sharedstate abstractions. However, STM semantics are defined in terms of low-level reads and writes on individual memory locations, so implementations are unable to take advantage of the properties of user-defined abstractions. Consequently, the pe...

متن کامل

Four Concurrency Primitives for Haskell

A monad for concurrent programming that is suitable for being built into Haskell is presented. The monad consists of only four primitives with a very simple semantics. A number of examples demonstrate that monads encapsulating other, more sophisticated communication paradigms known from concurrent functional languages such as Concurrent ML, Facile, and Erlang can be naturally and systematically...

متن کامل

A Monadic Account of First-class Synchronous Events

These two quotations represent the key ideas behind two major research agendas. The first captures the essence of monadic I/O, which is the fundamental abstraction used to provide input/output and concurrency in the lazy, purely-functional language (Concurrent) Haskell. The second captures the essence of first-class synchronous events, which is the fundamental abstraction used to provide concur...

متن کامل

A Language-based Approach to Unifying Events and Threads

This paper presents a language-based technique to unify two seemingly opposite programming models for building massively concurrent network services: the eventdriven model and the multithreaded model. The result is a unified concurrency model providing both thread abstractions and event abstractions. Using this model, each component in an application can be implemented using the appropriate abs...

متن کامل

Composable scheduler activations for Haskell

The runtime for a modern, concurrent, garbage collected language like Haskell is like an operating system: sophisticated, complex, performant, but alas very hard to change. If more of the runtime system were in Haskell it would become far more modular and malleable. In this paper we describe a new concurrency design that allows the scheduler for concurrent and parallel programs to be written in...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002